package com.ruoyi.pcwl.service;

import java.util.HashMap;
import java.util.List;

import com.ruoyi.pcwl.domain.Carousel;
import com.ruoyi.pcwl.domain.enums.CarouselTypeEnum;
import com.ruoyi.pcwl.domain.query.CarouselQuery;

import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.pcwl.domain.vo.CarouselVo;


/**
 * 轮播图信息 业务接口
 */
public interface CarouselService extends IService<Carousel> {

	/**
	 * 根据条件查询列表
	 */
	Integer findCountByParam(CarouselQuery param);

	/**
	 * 分页查询
	 */
	IPage<Carousel> selectPage(CarouselQuery reqParqm);

	/**
	 * 新增
	 */
	Integer add(Carousel bean);

	/**
	 * 批量新增
	 */
	Integer addBatch(List<Carousel> listBean);

	/**
	 * 批量新增/修改
	 */
//	Integer addOrUpdateBatch(List<Carousel> listBean);

	/**
	 * 多条件更新
	 */
//	Integer updateByParam(Carousel bean,CarouselQuery param);

	/**
	 * 多条件删除
	 */
//	Integer deleteByParam(CarouselQuery param);

	/**
	 * 根据Id查询对象
	 */
	Carousel getCarouselById(Long id);


	/**
	 * 根据Id修改
	 */
	Integer updateCarouselById(Carousel bean);


	/**
	 * 根据Id删除
	 */
	Integer deleteCarouselById(Long id);

//	跟据类型获取轮播图
    CarouselVo getCarousel(CarouselTypeEnum carouselTypeEnum);

	void publishSyCarousel(Long id);

	/**
	 * 获取全部轮播图分类
	 * @return
	 */
	List<Carousel> getCarouselCategory();
}
